Service locator(服务定位器)指一种软件设计模式:通过一个集中式的“定位器”对象来查找并返回所需的服务/组件(例如数据库连接、日志服务、消息队列客户端等),让调用方不必直接创建或管理这些服务实例。该词在企业应用与依赖管理语境中最常见。(也可泛指“用于定位服务的工具/机制”,但以设计模式义最常用。)
/ˈsɝːvɪs ˌloʊˈkeɪtər/
The app uses a service locator to get a logger.
这个应用使用服务定位器来获取日志记录器。
In large systems, a service locator can simplify access to shared services, but it may hide dependencies and make testing harder.
在大型系统中,服务定位器能简化对共享服务的访问,但也可能隐藏依赖关系,使测试更困难。
service(服务)来自拉丁语 servitium(奴役、服役)并逐渐引申为“提供帮助/服务”;locator(定位器/定位者)来自拉丁语 locare(放置、安置)及其派生词,表示“用来定位/查找的东西”。组合起来,“service locator”字面义为“用于查找服务的定位器”,在软件工程中固定化为一种模式名称。